﻿#pragma once
#include <map>
#include <string>

// 处理 Shader 的拼接问题
class FShaderMacroSystem
{
public:

	static FShaderMacroSystem* GetInstance()
	{
		static FShaderMacroSystem P;
		return &P;
	}

	void AddMacroDefCode(const std::string& Id, const std::string& Code);

	bool PreproccessShaderSrcCode(const std::string& InCode, std::string& OutCode);


private:

	std::map<std::string, std::string> MacroDefMap;
};


